//
//  StatusListViewModel.swift
//  xinlangweibo
//
//  Created by yangshuo on 15/12/3.
//  Copyright © 2015年 yangshuo. All rights reserved.
//

import Foundation
//微博数据列表模型,封装网络方法
class StatusListViewModel {
    //微博数据数组 上拉下拉刷新
    lazy var StatusList = [StatusViewModel]()
    //加载网络数据
    func loadStatus(finish: (isSuccessed: Bool)->()){
        NetWork.sharedNetWork.loadData({ (success) -> () in
            //判断success的数据结 构是否正确,所以success不能强解而使用?
            //success数据是一个大的字典,而statuses是success中的一个键,它本身是一个数组
            guard let array = success?["statuses"] as? [[String: AnyObject]] else{
                print("格式错误")
                finish(isSuccessed: false)
                return
            }
            //字典转模型
            // 实例化一个可变数组  模型类名[Status]()
            var arrayM = [StatusViewModel]()
            //遍历数组
            for dict in array{
                arrayM .append(StatusViewModel(status:Status(dict: dict)))
            }
            print("what\(self.StatusList)")

            //拼接数据
            //这个数据用在cell的数据源方法中
            self.StatusList = arrayM + self.StatusList
            
            print(self.StatusList)

            //成功后回调
            finish(isSuccessed: true)
            
            }) { (error) -> () in
                print("~~出错了~~\(error)")
                finish(isSuccessed: false)
        }
    }

}
